import os
import os.path
import winsound

def create_dir(dir_path):
    '''在当前目录下自动创建配置文件所在目录config
    '''
    if not os.path.exists(dir_path):
        os.mkdir(dir_path)


def create_dir_recursion(dir_path, is_file_path=False):
    """递归的创建目录
    :param dir_path: 要递归建立的文件路径，如果给定了一个文件的路径，则需要指定is_file_path参数。
    :param is_file_path:当前给出的dir_path实际为文件参数，会自动排除最后一个文件名项。
    """
    # 将目录中的文件夹分隔符号统一替换为当前系统支持的分隔符号
    dir_path = dir_path.replace(os.path.altsep, os.path.sep)
    # 根据当前系统的文件夹分隔符号分割当前路径为文件夹列表
    path_list = dir_path.split(os.path.sep)
    # 若给出的路径为文件名的路径，则排除最后一个文件名项。
    if is_file_path:
        path_list = path_list[:-1]

    path_crearte = ""
    # 遍历每个目录，进行递归创建
    for path in path_list:
        if path == "..":
            # 若当前目录路径为向上一级，则
            path_crearte = path_crearte + "../"
            continue
        cur_path = os.path.join(path_crearte, path)
        if not os.path.exists(cur_path):
            os.mkdir(cur_path)
        path_crearte = cur_path

def auto_index(data_df):
    '''自动在data_df数据表的最前面加上index列，从1开始计数。
    data_df:要操作的数据表。
    '''
    data_df.insert(0,"序号","")
    for i in range(1,data_df.shape[0]+1):
        data_df.loc[i-1,'序号'] = i
    return data_df

def beep(frequence=600,duration=1000):
    winsound.Beep(frequence,duration)

